// 公共函数
module.exports = {
    // 添加购物车
    add: (detail) => {
        // 从缓存中读取购物车
        detail.is_chosen = false
        let carts = wx.getStorageSync('carts')
        // 判断carts是否存在
        if (!carts) {
            // carts不存在 将商品详情存到carts中
            carts = []
            carts.push(detail)
        } else {
            let cartIndex = '' //用来记录找到商品在carts中的索引下标
            for (let i in carts) {
                if (carts[i]._id == detail._id) {
                    // console.log(1);
                    carts[i].num = Number(carts[i].num) + Number(detail.num)
                    cartIndex = i
                    break;
                }
            }
            // 通过cartIndex 判断购物车是否有当前商品
            if (!cartIndex) { //购物车中没有当前商品
                carts.push(detail)
                // console.log('添加');
            } else if (carts[cartIndex].num == 0) { //购物车中 商品数量为0 把该商品删除
                carts.splice(cartIndex, 1)
            }
        }
        // 将carts存入缓存
        wx.setStorageSync('carts', carts)
        //在tabbar上购物车的数量
        wx.setTabBarBadge({
            index: 2,
            text: `${carts.length}`,
        })
    },
    // 设置tabbar 上购物车显示的数字
    setBadge: () => {
        const carts = wx.getStorageSync('carts')
        if (carts.length > 0) {
            wx.setTabBarBadge({
                index: 2,
                text: `${carts.length}`,
            })
        } else {
            wx.hideTabBarRedDot({
                index: 2,
            })
        }
    },
    // 勾选
    setChosen(_id, is_chosen) {
        const carts = wx.getStorageSync('carts')
        for (let i in carts) {
            if (carts[i]._id == _id) {
                carts[i].is_chosen = is_chosen
                break
            }
        }
        wx.setStorageSync('carts', carts)
    },
    // 全选更新缓存
    setAllChosen(status) {
        const carts = wx.getStorageSync('carts')
        carts.forEach(item => {
            item.is_chosen = status
        })
        wx.setStorageSync('carts', carts)
    },
}